local flytimer = 0
local previousframespeed = 0
addHook("PlayerThink", do
    for player in players.iterate
        if player.mo.skin ~= "tails2"
			return
		end
		if (player.mo.state == S_PLAY_FLY) or (player.mo.state == S_PLAY_SWIM) then
			
			if (player.cmd.buttons & BT_JUMP) then
				P_SetObjectMomZ(player.mo, FRACUNIT/2, true)
				flytimer = flytimer - 1
			end
			if (player.cmd.buttons & BT_SPIN) then
				player.pflags = $1|PF_THOKKED|PF_JUMPED
				player.mo.state = S_PLAY_ROLL
			end
		end
		if player.mo.z <= player.mo.floorz then
			flytimer = 100
		end
		if flytimer <= 0 and G_IsSpecialStage() == false then
			player.mo.state = S_PLAY_FLY_TIRED
			player.actionspd = 0
		else
			player.actionspd = 100
		end
		if (player.pflags & PF_SPINNING) then
			player.normalspeed = player.speed+FRACUNIT
		else
			player.normalspeed = 36*FRACUNIT
		end
		previousframespeed = player.mo.momz
    end
end)
